package cn.zhouchao.org.dto;

import cn.zhouchao.org.domain.Employee;
import cn.zhouchao.org.domain.Shop;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.util.Date;

@Data
public class ShopRegisterDto {
    private Long id;
    /*
     * 1. @NotNull 指定 对象/Long Integer等
     * 2. @NotEmpty 指定 集合
     * 3. @NotBlank 指定 字符串
     */
    @NotBlank(message = "店铺名不能为空！")
    private String name;
    @NotBlank(message = "座机号不能为空！")
    private String tel;
    @NotBlank(message = "地址不能为空！")
    private String address;
    @NotBlank(message = "logo不能为空！")
    private String logo;
    //店长信息
    @Valid
    private ShopAdminDto admin;

    //这里以下的两个方法，是为了先用对应的对象临时装数据以下数据（如果符合，就好加入数据库，同时也能在此取到最新的shopId）
    public Shop getShop(){
        return Shop
                .builder()
                .name(this.name)
                .tel(this.tel)
                .registerTime(new Date())
                .state(0)
                .address(this.address)
                .logo(this.logo)
                .build();
    }

    public Employee getEmp(){
        return Employee
                .builder()
                .username(this.admin.getUsername())
                .phone(this.admin.getPhone())
                .email(this.admin.getEmail())
                .password(this.admin.getPassword())
                .state(1)
                .build();
    }


}
